Method and device for realizing an associative memory based on inhibitory neural networks

ABSTRACT

A method for forming an associative computer memory comprises the step of forming an inhibitory memory matrix A′=−(Ap−A). According to the Wilshaw model constructed from a given set of address patterns and content patterns&#39; and random matrix structure.

The present invention relates to a method and a device for realizing an associative memory using inhibitory neural networks.

TECHNICAL BACKGROUND AND PRIOR ART

It has long been pointed out that neural networks can compute mappings of the kind ƒ:u

v, where u and v are usually interpreted as activity pattern vectors of the presynaptic and postsynaptic neuron populations, respectively. Actually, it has been proven that multilayer neural networks can approximate arbitrary functions ƒ with arbitrary precision (although this may require a very large neuron number in the hidden layers). Neural associative memory networks are a special case where the mapping is between discrete sets of address patterns u^(μ) and content patterns v^(μ), μ=1, . . . , M. Given a noisy address pattern ũ, the usual memory task is then to find the most similar u^(μ) minimizing ∥ũ−u^(μ)∥, and returning the corresponding content v^(μ). This task is essentially the best match or nearest-neighbor problem and can be extended to implement again continuous mappings ƒ by interpolating between several sample points. Efficient solutions to the best match problem have widespread applications such as object recognition, clustering or information retrieval in large databases.

STORING AND RETRIEVING PATTERNS IN THE WILLSHAW MODEL An attractive model of neural associative memory both for biological modeling and applications is the so-called Willshaw or Steinbuch model with binary neurons and synapses, illustrated in FIG. 1. Each address pattern u^(μ) is a binary vector of length m that, on average, contains k one-entries and m−k zero-entries. Similarly, each target pattern v^(μ) is a binary vector of length n that contains l one-entries and n−l zero-entries. Typically, the patterns are sparse, i.e., k<<m and l<<n.

FIG. 1 shows the working principle of the binary Willshaw model (for heteroassociation). On the left hand side, during the learning phase, M associations between address patterns u^(μ) and content patterns v^(μ) are stored in the binary memory matrix A representing binary synaptic weights of the connection from address population u to content population v. Initially all synapses are inactive. During learning of pattern associations, the synapses are activated according to Hebbian coincidence learning (eq. 1). On the right hand side, for retrieval, an address pattern ũ is propagated through the network. Vector-matrix-multiplication yields the membrane potentials x=ũA. To obtain the retrieval result {circumflex over (v)} (here equal to v¹) a threshold Θ is applied. For pattern part retrieval, ũ⊂u^(μ) one may simply choose the Willshaw threshold Θ=|ũ| yielding a superset {circumflex over (v)}⊃v^(μ) of the original pattern (i.e., no missing one-entries).

The M pattern pairs are stored hetero-associatively in a binary memory matrix A_(a)ε{0, 1}^(m×n), where

$\begin{matrix} {A_{a,{ij}} = {{\min \left( {1,{\sum\limits_{\mu = 1}^{M}{u_{i}^{\mu} \cdot v_{j}^{\mu}}}} \right)} \in {\left\{ {0,1} \right\}.}}} & (1) \end{matrix}$

The model may slightly be extended by allowing noisy one-entries and zero-entries in the matrix. Let Ã₁ and Ã₀ be two binary random m×n matrices, where each matrix entry is one independently with probability {tilde over (p)}₁ and {tilde over (p)}₀, respectively. Interpreting Ã₁ as the set of noisy one-synapses, and Ã₀ as the set of noisy zero-synapses, the resulting synaptic matrix is

A=(A _(a)

A ₁)

Ã ₀ε{0,1}.  (2)

After learning, the stored information can be retrieved applying an address pattern ũ. Vector-matrix-multiplication yields the neural potentials x=ũA of the target population, and imposing a threshold Θ gives the (one-step) retrieval result {circumflex over (v)},

$\begin{matrix} {{\hat{v}}_{j} = \left\{ \begin{matrix} {1,} & {x_{j} = {\left( {\sum\limits_{i = 1}^{m}{{\overset{\sim}{u}}_{i}A_{ij}}} \right) \geq \Theta}} \\ {0,} & {{otherwise}.} \end{matrix} \right.} & (3) \end{matrix}$

A critical prerequisite for high retrieval quality is the right choice of the threshold value Θ: Too low values will lead to high rates of false one-entries (add-errors) whereas too high values will result in high rates of false zero-entries (miss-errors). This threshold choice can be simple or rather difficult, depending on the types of errors present in the address. In the following c and ƒ denote the number of correct and false one-entries in the address, respectively.

For {tilde over (p)}₀=0 and error-free addresses (c=k and ƒ=0) or pattern part retrieval, that is, when the address contains miss errors only (c=λk and ƒ=0 with 0<λ<1) the optimal threshold value is a simple function of the address pattern Θ=|ũ|. This threshold value was used in the original Willshaw model and therefore it will be referred to as the Willshaw threshold. A detailed description of the Willshaw model may be found in the original article by D. J. Willshaw et al. (“Non-holographic associative memory”, Nature, 222:960-962, 1969).

MEMORY LOAD First the memory load p₁ is determined, that is, the fraction of one-entries in the memory matrix. The probability that a synapse gets activated during learning of M pattern pairs is

$\begin{matrix} {{p_{1a} = {{1 - \left( {1 - \frac{kl}{mn}} \right)^{M}} \approx {1 - ^{{- {Mkl}}/{mn}}}}},} & (4) \end{matrix}$

and therefore, considering the noisy synapses, the probability that a synapse is active is

$\begin{matrix} {p_{1} = {{{1 - {\overset{\sim}{p}}_{0} - {\left( {1 - {\overset{\sim}{p}}_{0}} \right)\left( {1 - {\overset{\sim}{p}}_{1}} \right)\left( {1 - p_{1a}} \right)}}\mspace{25mu} \geq p_{1,\min}}:={1 - {\overset{\sim}{p}}_{0} - {\left( {1 - {\overset{\sim}{p}}_{0}} \right)\left( {1 - p_{1}} \right)}}}} & (5) \\ {p_{1a} = {1 - \frac{1 - {\overset{\sim}{p}}_{0} - p_{1}}{\left( {1 - {\overset{\sim}{p}}_{0}} \right)\left( {1 - {\overset{\sim}{p}}_{1}} \right)}}} & (6) \\ {M = {\frac{1n\frac{1 - {\overset{\sim}{p}}_{0} - p_{1}}{\left( {1 - {\overset{\sim}{p}}_{0}} \right)\left( {1 - {\overset{\sim}{p}}_{1}} \right)}}{1{n\left( {1 - {{kl}/{mn}}} \right)}} \approx {{- \frac{mn}{kl}}1n{\frac{1 - {\overset{\sim}{p}}_{0} - p_{1}}{\left( {1 - {\overset{\sim}{p}}_{0}} \right)\left( {1 - {\overset{\sim}{p}}_{1}} \right)}.}}}} & (7) \end{matrix}$

RETRIEVAL ERRORS AND HIGH FIDELITY Let the noisy address pattern ũ contain c correct one-entries of u^(μ) and an additional noise with ƒ false one-entries. Then for a given threshold Θ the probability p₀₁ of an add-error and the probability p₁₀ of a miss-error are

$\begin{matrix} \begin{matrix} {{p_{01}(\Theta)} = {p\left( {{\hat{v}}_{i} = {{1v_{i}^{\mu}} = 0}} \right)}} \\ {= {\sum\limits_{x = \Theta}^{c + f}{p_{{wp},{lo}}\left( {{x;k},l,m,n,{M - 1},{\overset{\sim}{p}}_{1},{\overset{\sim}{p}}_{0},c,f} \right)}}} \end{matrix} & (8) \\ \begin{matrix} {{p_{10}(\Theta)} = {p\left( {{\hat{v}}_{i} = {{0v_{i}^{\mu}} = 1}} \right)}} \\ {= {\sum\limits_{x = 0}^{\Theta - 1}{p_{{wp},{hi}}\left( {{x;k},l,m,n,{M - 1},{\overset{\sim}{p}}_{1},{\overset{\sim}{p}}_{0},c,f} \right)}}} \end{matrix} & (9) \end{matrix}$

where p_(WP,lo), is the potential distribution of the “low” units (corresponding to the zero-entries of v^(μ)) and p_(WP,hi) is the potential distribution of the “high” units (corresponding to the one-entries of v^(μ)).

The retrieval or output noise ε may be defined according to the expected Hamming distance d_(H) between {circumflex over (v)} and v^(μ). Normalizing to the pattern activity l, one obtains

$\begin{matrix} {{\varepsilon (\Theta)}:={\frac{{Ed}_{H}\left( {\hat{v},v^{\mu}} \right)}{l} = {{\frac{n - l}{l}{p_{01}(\Theta)}} + {p_{10}(\Theta)}}}} & (10) \end{matrix}$

An alternative definition based on the information I and transinformation (or mutual information) T of a binary channel is

$\begin{matrix} {{\varepsilon^{T}(\Theta)}:={1 - {\frac{T\left( {{l/n},p_{01},p_{10}} \right)}{I\left( {l/n} \right)}.}}} & (11) \end{matrix}$

The latter definition is particularly useful when analyzing low quality retrieval for sparse patterns with l<<n. The former definition is useful because it allows an elegant analysis for pattern capacity and storage capacity. Now the optimal threshold Θ_(opt)ε{0, 1, . . . , c+ƒ} can be defined by minimizing ε (or ε^(T)). For ε<<l, “high-fidelity” retrieval is obtained.

STORAGE CAPACITY Now, the maximal number of patterns M_(ε) may be computed such that the retrieval noise is at most ε. Since the minimal Hamming distance (optimizing Θ) is obviously increasing with M, the pattern capacity M_(ε) (on quality level ε) may be defined as

M _(ε):=max{M:(n−l)p ₀₁ +lp ₁₀≦εl}.  (12)

Considering the Shannon information of individual content patterns, one obtains the normalized network storage capacity in bits per synapses,

$\begin{matrix} \begin{matrix} {C_{\varepsilon}:=\frac{{stored}\mspace{14mu} {information}}{\# \mspace{14mu} {synapses}}} \\ {= \frac{M_{\varepsilon}{T\left( {v^{\mu};v^{\mu}} \right)}}{mn}} \\ {\approx \frac{M_{\varepsilon}{T\left( {{l/n},p_{01},p_{10}} \right)}}{m}} \end{matrix} & (13) \end{matrix}$

where T(v^(μ); {circumflex over (v)}^(μ)) is the transinformation (or mutual information) between learned and retrieved content pattern. From the network capacity, further performance measures may be derived such as synaptic capacity C^(S) and information capacity C^(I) making use of the compressibility of the memory matrix for a memory load p₁≠0.5,

$\begin{matrix} {{C_{\varepsilon}^{S}:={\frac{{stored}\mspace{14mu} {information}}{\# \mspace{14mu} {non}\text{-}{silent}\mspace{14mu} {synapses}} = \frac{C_{\varepsilon}}{\min \left( {p_{1\varepsilon},{1 = p_{1\varepsilon}}} \right)}}},} & (14) \\ {{C_{\varepsilon}^{I}:={\frac{{stored}\mspace{14mu} {information}}{\# \mspace{14mu} {bits}\mspace{14mu} {of}\mspace{14mu} {required}\mspace{14mu} {physical}\mspace{14mu} {memory}} = \frac{C_{\varepsilon}}{I\left( p_{1\varepsilon} \right)}}},} & (15) \end{matrix}$

where p_(1ε) is the memory matrix load after storing M pattern pairs, and I(p_(1ε)):=−p_(1ε)ldp_(1ε)−(1−p_(1ε))ld(1−p_(1ε)) is the Shannon information of a memory matrix component. Essentially, C^(S) normalizes the stored information to the number of non-silent synapses (instead of all synapses). The variable C^(S) is relevant for VLSI implementations of the Willshaw model where each synapse, similar to biology, must be realized in hardware. Similarly, C^(I) normalizes the stored information to the amount of physical memory that is actually required to represent the memory matrix. This is relevant mainly for technical applications where the Willshaw matrix must be maintained in the memory of digital computers.

APPROXIMATIVE ANALYSIS OF RETRIEVAL WITH THE WILLSHAW THRESHOLD For retrieval with maximal “Willshaw” threshold Θ=|ũ| there is an elegant analysis based on a binomial approximation of the error probabilities. Unfortunately this is useful only for {tilde over (p)}₀=0, i.e., no noisy zero-entries in the memory matrix, and ƒ=0, i.e., no false one-entries in the address pattern ũ (pattern part retrieval). In that case when c=|ũ|=λk and |=0 the probability of miss noise is p₁₀=0 and the probability of add-noise can be approximated

p₀₁≈p₁ ^(λk)  (16)

assuming independently generated one-entries in the memory matrix and λ:=c/k. This assumption becomes correct in the limit of large networks for many cases. Requiring high fidelity level ε one obtains the bound p₀₁≦εl/(n−l). Resolving for p₁ the high fidelity memory load p_(1ε) is obtained, and from this the high fidelity capacities,

$\begin{matrix} {\left. {p_{1\varepsilon} \approx \left( \frac{\varepsilon \; l}{n - l} \right)^{\frac{1}{\lambda \cdot k}}\overset{(!)}{\geq}p_{1,\min}}\Leftrightarrow{k \approx \frac{1d\frac{\varepsilon \; l}{n - l}}{{\lambda 1}\; {dp}_{1\varepsilon}}\overset{(!)}{\geq}k_{\min}} \right.:=\frac{1d\frac{\varepsilon \; l}{n - l}}{{\lambda 1}\; {dp}_{1,\min}}} & (17) \\ {M_{\varepsilon} \approx {{\lambda^{2} \cdot \left( {1{dp}_{1\varepsilon}} \right)^{2} \cdot 1}n{\frac{1 - p_{1\varepsilon}}{1 - {\overset{\sim}{p}}_{1}} \cdot \frac{k}{l} \cdot \frac{mn}{\left( {1d\frac{n - l}{\varepsilon \cdot l}} \right)^{2}}}\mspace{14mu} {for}\mspace{14mu} p_{1\varepsilon}} \geq p_{1,\min}} & (18) \\ {C_{\varepsilon} \approx {{\lambda \cdot 1}{{dp}_{1\varepsilon} \cdot 1}n{\frac{1 - p_{1\varepsilon}}{\left( {1 - {\overset{\sim}{p}}_{1}} \right)} \cdot \eta}\mspace{14mu} {for}\mspace{14mu} p_{1\varepsilon}} \geq p_{1,\min}} & (19) \end{matrix}$

where η is usually near 1,

$\begin{matrix} {\eta:={\frac{T\left( {\frac{l}{n},\frac{\varepsilon \; l}{n - l},0} \right)}{{- \frac{l}{n}}1d\frac{\varepsilon \; l}{n - l}} \approx {\frac{1}{1 + \frac{1n\; \varepsilon}{1{n\left( {l/n} \right)}}}.}}} & (20) \end{matrix}$

Note that equation 17 implies a minimal assembly size k_(min) for the address population. For smaller assemblies it is impossible to achieve high-fidelity ε, even when storing only a single association.

SPARSE AND DENSE POTENTIATION The main conclusions from the binomial approximative analysis are that a very high storage capacity of almost 0.7 bits per synapse can be achieved for sparse patterns with k˜log n and memory load p₁=0.5. Then, one may store on the order of M˜mn/(log n)² pattern associations with high retrieval quality. From equations 17 and 19 it is easy to see that asymptotically

C>0

k˜log n

0<p _(1ε)<1.  (21)

Thus, the analysis suggests that neural associative memory is efficient (C>0) only for logarithmically sparse patterns. For sub-logarithmic sparse patterns with k/log n→0 one has p₁→0 and for super-logarithmic sparse patterns with k/log n→∞ one has p₁→1, both cases implying vanishing network storage capacity C_(ε)→0.

In the following, the three cases p₁→0/c/1 will be referred to as sparse, balanced, and dense synaptic potentiation.

It should be noted that this conclusion may be biased by the definition of network storage capacity, and alternative definitions of storage capacity considering the compressibility of the network lead to different conclusions. For example, in technical implementations of the Willshaw model the memory matrix can be compressed for p₁→0/1 and the (information) storage capacity improves by factor I(p₁):=−p₁ldp₁−(1−p₁)ld(1−p₁). This leads to the definition of “compression” capacities C^(I):=C/I(p₁) and C^(S):=C/min(p₁, 1−p₁) (see eqs. 14,15,19).

Interestingly, and in contrast to network capacity C, optimizing C^(I) and C^(S) reveals highest capacities for p₁→0 and p₁→1. By this the regimes with ultrasparse and moderately sparse patterns (or cell assemblies) have gained increased attention.

However, the convergence of the binomial approximations towards the exact values may be questionable. In particular, for dense potentiation with p_(0ε)=1−p_(1ε)→0, supra-logarithmic sparseness, k/log n→∞, and

$\begin{matrix} {{p_{1\varepsilon} = {\left( \frac{\varepsilon \; l}{n - l} \right)^{{1/\lambda}\; k} = {^{\frac{\ln {({\varepsilon \; {l/{({n - l})}}})}}{\lambda \; k}} \approx {1 - \frac{\ln \frac{n - l}{\varepsilon \; l}}{\lambda \; k}}}}},} & (22) \\ {{M_{\varepsilon} = {\frac{\ln \left( {1 - p_{1\varepsilon}} \right)}{\ln \left( {1 - \frac{k\; l}{m\; n}} \right)} \approx {{- \frac{m\; n}{k\; l}}\left( {{\ln \left( {\lambda \; k} \right)} - {\ln \; \ln \frac{n - l}{\varepsilon \; l}}} \right)} \approx \frac{m\; n\; \ln \; k}{k\; l}}},} & (23) \end{matrix}$

numerical simulations of small networks reveal that the capacities can be massively overestimated by the binomial approximative analysis. Nevertheless, the inventor has shown in an asymptotic analysis for large networks, that the binomial approximative analysis from above becomes exact at least for k=O(n/log² n). That means, the regime of dense potentiation leads actually to high performance networks for a very broad range of pattern activities.

THE (EXCITATORY) DILUTED WILLSHAW MODEL In the following, it will be assumed that, on average, only a fraction p of the mn synapses are actually realized in the network. More precisely, it is assumed that a potential synapse is realized with probability p independently of other synapses. In other words, it is assumed that the network is incompletely connected.

Obviously, this case is already included in the theoretical framework presented above by using {tilde over (p)}₀=1−p. For the sake of brevity, the matrix of realized synapses will be denoted as

A _(p):=1−Ã ₀  (24)

Unfortunately, as already mentioned, for p<1 there is no obvious optimal threshold anymore. Instead, the threshold needs to be adjusted “by hand”. For example, if the statistics of the address pattern (c and ƒ) are known, one can optimize the threshold in order to minimize the expected Hamming distance (eq. 10,11). However, numerical evaluations indicate that the performance of this naive implementation of the excitatory Willshaw model becomes quite bad for p<1. In particular, the synaptic storage capacity vanishes, C→0, for p→0.

Previous works have focused on finding optimal threshold strategies for diluted networks. It has been suggested to choose thresholds Θ_(j) individually for each content neuron j as a function of the so-called input activity

$\begin{matrix} {{\theta_{j}:={\sum\limits_{i = 1}^{m}{{\overset{\sim}{u}}_{i}A_{p,{i\; j}}}}},} & (25) \end{matrix}$

defined as the number of active address neurons connected to neuron j (see FIG. 2, left panel). Simply using Θ_(j)=θ_(j) corresponds to the previous Willshaw threshold and again implies p₁₀=0, i.e., no miss-noise in the retrieval result. For pattern part retrieval with ƒ=0 (no add-noise in the address pattern), this threshold strategy is optimal if, besides input activity, no further information is used. However, for an excitatory interpretation this strategy has a severe disadvantage: for technical applications, the matrix A_(p) of realized synapses must be represented explicitly, which inevitably decreases storage capacity. This becomes particularly severe for p₁→0 or p₁→1 when A can be compressed. Then memory requirements are dominated by A_(p) and therefore storage capacity vanishes.

In the following, the two model variants with the naive threshold control (described at the beginning of this section) and the optimal threshold control (eq. 25) will be referred to as the naive and optimal excitatory diluted Willshaw model, respectively.

In the light of these analyses, it is an object of the present invention to provide an improved method and device for realizing an associative memory on the basis of a neural network.

This object is achieved according to the invention by a method and a device for forming an associative memory according to the independent claims. Advantageous embodiments are defined in the dependent claims.

The associative memory is a digital computer memory that may be formed or realized by building up a corresponding matrix or structure in the digital memory of a general-purpose digital computer or physically implemented on a parallel (VLSI, FPGA) hardware architecture.

The method and device according to the invention have the following advantages:

-   -   The threshold strategy becomes very simple, even when using the         input activity in diluted networks: For example, assume that the         optimal threshold of the excitatory model is Θ_(j)=θ_(j)+c for         an offset c. Then the optimal threshold for the inhibitory model         is simply c, i.e., again independent of the individual input         activities.     -   Consequently, it is not necessary to explicitely represent A_(p)         which can dramatically increase the storage capacity if A can be         compressed.

Further aspects and advantages of the present invention will become more apparent to the person skilled in the art when considering the following detailed description, in connection with the annexed drawing in which

FIG. 1 shows the working principle of the binary Willshaw model (for hetero-association);

FIG. 2 shows learning and retrieval in incompletely connected excitatory and inhibitory Willshaw networks;

FIG. 3 compares the retrieval quality of a model according to the invention to the naive excitatory model for a network of a given size;

FIG. 4 shows asymptotic network capacity, synaptic capacity and information capacity as functions of memory load for an optimal excitatory model and the inhibitory model according to the invention;

FIG. 5 compares the structures of a two-layer Willshaw model and a three-layer extension;

FIG. 6 shows a four-layer system for information retrieval according to one embodiment of the invention; and

FIG. 7 shows the improvement regarding storage capacity and retrieval quality in a system shown in FIG. 6.

FIG. 8 shows a block diagram of a system for visual object recognition using an associative memory according to one embodiment of the invention.

DETAILED DESCRIPTION OF THE INVENTION

A method for forming an associative computer memory according to the invention uses an inhibitory interpretation of the Willshaw model.

THE INHIBITORY WILLSHAW MODEL The excitatory Willshaw model has an equivalent inhibitory interpretation corresponding to Anti-Hebbian learning that avoids the problems of the excitatory model described in the previous section. Consider retrieval in the common excitatory interpretation with memory matrix A (eq. 2), address pattern ũ, and (possibly individual) thresholds Θ (see eqs. 3,25). Further, let θ=ũA_(p) be the vector of input activities (eq. 25). Then the corresponding inhibitory model is defined by the inhibitory memory matrix A^(I) and retrieval threshold Θ^(I) with

A ^(I)=−(A _(p) −A)a _(ij) ^(I)ε{0,−1}  (26)

Θ^(I)=Θ−θ  (27)

The excitatory and inhibitory models are actually equivalent. I.e., the retrieval results for the excitatory and inhibitory models are identical (see FIG. 2, right panel) because

ũ(A _(p) −A _(p) +A)≧Θ

θ−ũ(A _(p) −A)≧Θ

ũA ^(I)≧Θ^(I).  (28)

These arguments are illustrated in FIG. 2 showing learning and retrieval in incompletely connected Willshaw networks (p=0.8) of the excitatory and inhibitory type.

The left hand part (2 a) of FIG. 2 shows pattern retrieval in a diluted excitatory network according to the state of the art. The natural generalization of the one-step algorithm for pattern part retrieval (with ƒ=0 add-noise) has to apply a threshold Θ_(j) equal to the input activity θ₃ for each target neuron j (see eq. 25).

The right hand part (2 b) of FIG. 2 shows pattern retrieval in a diluted inhibitory network according to a first embodiment of the invention. In the inhibitory Willshaw model 0-synapses of the excitatory model become −1-synapses, and 1-synapses become 0-synapses. The inhibitory and excitatory models are functionally equivalent, but optimal threshold control in the inhibitory model is much simpler: here each neuron has the same threshold Θ^(I)=0.

Also the analysis of diluted inhibitory networks becomes very simple. A missing synapse may be replaced by a 0-synapse (see FIG. 2). In the equivalent excitatory model, this becomes a noisy 1-synapse. Thus, the inhibitory model with connectivity p and synaptic noise {tilde over (p)}₀,{tilde over (p)}₁ is equivalent to the fully connected excitatory model with synaptic noise

{tilde over (p)}₀={tilde over (p)}₁ ^(I)  (29)

{tilde over (p)} ₁=1−p(1−{tilde over (p)} ₀ ^(I)  (30)

Thus, for {tilde over (p)}^(I)=0 the inhibitory diluted model can be analyzed as described above, leading to interesting asymptotic results (eqs. 17-23).

Retrieval Quality

FIG. 3 shows retrieval quality of the inhibitory model (‘r’ for red) as compared to the naive excitatory model (‘g’ for green) for a network with m=n=1000, k=l=100 and connectivity p=0.5 when addressing with c=50 correct and no false units (ƒ=0).

The plot on the left hand side shows the distribution of the dendritic potentials for the low units (thin) and high units (thick) when M=100 pattern associations are stored corresponding to a memory load p₁=0.817 (or p_(1a)=0.634; see eq. 4). The x-axis for the dendritic potentials is shifted such that 0 corresponds to the optimal threshold in each case. The inhibitory model achieves optimal retrieval quality for Θ=0 resulting in error probabilities p₀₁=0.000944, p₁₀=0 and output noise ε=0.00850 (see eq. 10). The excitatory model is optimal for Θ=25 resulting in p₀₁=0.0208, p₁₀=0.444, and thus a much higher output noise ε=0.631.

The plot on the right hand side shows minimal output noise ε (see eq. 10) as a function of the number M of stored associations.

As illustrated by FIG. 3, for diluted networks with p<1 the retrieval quality of the inhibitory model is generally much better than for the naive excitatory model. The plots indicate that, for the same number M of stored pattern associations, the output noise ε (see eq. 10) is much worse for the excitatory model. Correspondingly, if a fixed retrieval quality ε must be maintained, the inhibitory model can store a much larger number of patterns, i.e., it has a much larger storage capacity.

Storage Capacity

The analysis of maximal memory load p_(1ε) and pattern capacity M_(ε) for both the inhibitory diluted Willshaw model and the excitatory model with optimal threshold control is essentially the same as the analysis of the fully connected excitatory model described before (see eqs. 29,30). For example, if connectivity p is assumed, but no synaptic noise, then, for pattern part retrieval without add-noise in the address pattern, (ε=0) one may just use eqs. 17,18 with {tilde over (p)}₀=0 and {tilde over (p)}₁=1−p. Since now the network has only pmn synapses the storage capacity C_(ε) of eq. 19 improves by factor 1/p,

$\begin{matrix} {C_{\varepsilon}:={{\frac{T}{p\; m\; n} \approx {{\lambda \cdot \frac{{ld}\; {p_{1\varepsilon} \cdot \ln}\frac{1 - p_{1\varepsilon}}{p}}{p} \cdot \eta}\mspace{14mu} {for}\mspace{14mu} p_{1\varepsilon}} \geq p_{1,\min}}:={1 - p}}} & (31) \end{matrix}$

where T was used for the stored (trans-) information which is proportional to M_(ε).

Similarly, the “compression capacities” C^(S) and C^(I) may be computed (see eqs. 14,15). The different capacities for the different model variants are summarized in the table shown below. For the synaptic capacity C^(S) performance may be improved by eliminating all silent synapses. Thus C^(S) improves by a factor 1/p_(1ε)′ for the naive excitatory model, and by a factor 1/(1−p_(1ε)) for the inhibitory model. Note that the optimal excitatory model has only factor 1/p, the same as in eq. 31, because here one cannot eliminate the 0-synapses since they are required to compute the input activity eq. 25. For the information capacity C^(I) it was assumed that the memory matrix, interpreted as a bit stream, can be compressed by a Huffman or Golomb code. Thus, the improvement for the naive excitatory and the inhibitory model is factor 1/I(p_(1ε)′) and 1/I(p_(1ε)), respectively, but only factor 1/I(1−p, 1−p_(1ε)) for the optimal excitatory model: here a fraction 1−p of the potential synapses is missing, another fraction 1−p_(1ε) are zero, and the remaining synapses are 1.

The following table shows storage capacity C, synaptic capacity C^(S), and information capacity C^(I) (see eqs. 13-15) for the different implementations of the Willshaw model (naive excitatory model, optimal excitatory model, and inhibitory model). mn is network size, p<1 is connectivity, p_(1ε) is memory load, and T_(ε) denotes the maximal storable information under a given quality constraint ε. The asymptotical approximations follow from eq. 31. For the naive excitatory model, the storable information T_(ε)′ and the corresponding memory load p_(1ε)′ are usually smaller than for the optimal model variants. I(p) and I(p, q) are the information of a binary and ternary random variable, respectively. The formulae are correct also for full connectivity (p=1) except for the synaptic capacity C_(ε) ^(S) of the optimal excitatory model: here p should be replaced by p_(1ε) in the denominator.

naive exc. opt. exc. inhibitory C_(ε) $\frac{T_{\varepsilon}^{\prime}}{pmn}$ $\frac{T_{\varepsilon}}{pmn} \approx \frac{{ldp}_{1\varepsilon}\ln \frac{1 - p_{1\varepsilon}}{p}}{p}$ $\frac{T_{\varepsilon}}{pmn} \approx \frac{\left( {l{dp}} \right)_{1\varepsilon}\ln \frac{1 - p_{1\varepsilon}}{p}}{p}$ C_(ε) ^(S) $\frac{T_{\varepsilon}^{\prime}}{{p^{\prime}}_{1\varepsilon}{mn}}$ $\frac{T_{\varepsilon}}{pmn} \approx \frac{\left( {l{dp}} \right)_{1\varepsilon}\ln \frac{1 - p_{1\varepsilon}}{p}}{p}$ $\frac{T_{\varepsilon}}{\left( {1 - p_{1\varepsilon}} \right){mn}} \approx \frac{{ldp}_{1\varepsilon}\ln \frac{1 - p_{1\varepsilon}}{p}}{1 - p_{1\varepsilon}}$ C_(ε) ^(I) $\frac{T_{\varepsilon}^{\prime}}{1\left( {p^{\prime}}_{1\varepsilon} \right){mn}}$ $\frac{T_{\varepsilon}}{{I\left( {{1 - p},{1 - p_{1\varepsilon}}} \right)}{mn}} \approx \frac{{ldp}_{1\varepsilon}\ln \frac{1 - p_{1\varepsilon}}{p}}{I\left( {{1 - p},{1 - p_{1\varepsilon}}} \right)}$ $\frac{T_{\varepsilon}}{{I\left( p_{1\varepsilon} \right)}{mn}} \approx \frac{{ldp}_{1\varepsilon}\ln \frac{1 - p_{1\varepsilon}}{p}}{I\left( p_{1\varepsilon} \right)}$

Although there is no (elegant) theory for the naive excitatory model, numerical evaluations indicate that it always performs bad. The hope that the naive excitatory model performs well for sparse potentiation with p_(1ε)→0 and sub-logarithmic sparse patterns is true only for p=1.

FIG. 4 shows asymptotic network capacity C, synaptic capacity C^(S), and information capacity C^(I) as functions of the memory load p_(1ε) (see the above table) for different network connectivities p. The curves show the capacities C^(Se) (=C^(e) for p<1), C^(Ie) for the optimal excitatory model and the corresponding capacities C^(i) (=C^(e)), C^(Si), C^(Ii) for the inhibitory model. For p=1 (upper left panel) the dashed line shows C^(e) (=C^(i)) which differs here from C^(Se). For p<1 only the inhibitory model can achieve large capacities ≧1 bps.

Based on these results the following points can be made:

-   -   The network capacity C (no compression) of the inhibitory model         is identical to the excitatory model and yields moderately high         capacities for balanced potentiation.     -   In the regime of sparse potentiation with p_(1ε)→0 high         compression capacities C^(S), C^(I) can only be achieved in the         fully connected network. Here the excitatory model is superior         over the inhibitory model with C^(S)→∞ and C^(I)→1.     -   However, for diluted networks sparse potentiation with p_(1ε)→0         is not viable for two reasons: First, compressibility of the         memory matrix is limited by A_(p). Second, hifi-retrievals on         level ε are not possible for p_(1ε)0 because this would imply         k/log n→0 (section), while in fact k must grow at least with log         n (see eq. 17 for p_(1,min)=1−p).     -   In the regime of dense potentiation with p_(1ε)→1 high         capacities C^(S), C^(I) are achieved only by the inhibitory         model. Here C^(Si)→∞ and 0.85≦lim C^(I)≦1 even for the diluted         networks with p→0. In contrast, the capacities of the excitatory         models are low.

In summary, for full network connectivity (p=1) both the excitatory and the inhibitory model can achieve high capacities. The excitatory model performs particularly good for sparse potentiation with memory load p_(1ε)→0 and very sparse patterns k/log n→0, while the inhibitory model achieves highest capacities for dense potentiation with p_(1ε)→1 and moderate sparseness k/log n→∞. However, for diluted networks with p<1 only the inhibitory model achieves high capacities C^(S) and C^(I).

Computational Complexity

The time complexity of the Willshaw model is essentially the number of synaptic operations necessary to perform a retrieval. Obviously, this is an important performance measure for technical implementations on sequential digital computers.

The time complexity for learning is the same for all model variants, i.e., learning the pattern associations requires time

$\begin{matrix} {t_{lrn} = {{Mkl} \approx {{- m}\; n\; \ln \frac{1 - p_{1}}{p}}}} & (32) \end{matrix}$

Also a naive retrieval (with uncompressed memory matrix) for an address pattern with z:=|ũ| active units requires the same time for all three model variants,

t_(ret) ^(nv)=zn  (33)

Similarly as for storage capacity, performance can be improved if the silent synapses are skipped. Thus, the retrieval times t_(ret) ^(ne), t_(ret) ^(e), t_(ret) ^(i) for the naive excitatory, the optimal excitatory, and the inhibitory model variants are

t_(ret) ^(nve)=znp₁  (34)

t_(ret) ^(e)=znp  (35)

t _(ret) ^(i) =zn(1−p ₁)  (36)

assuming that only the functionally relevant synapses are explicitely represented, for example in target lists.

The following conclusions can be made:

-   -   The excitatory models are advantageous for sparse potentiation         with p_(1ε)→0, but the optimal excitatory model has only minor         advantages for fixed p<1.     -   In contrast, the inhibitory model is always advantageous for         dense potentiation with p_(1ε)→1 and any connectivity p.     -   Thus, the inhibitory model can be adapted to the number of         patterns to be stored: If, for given m, n, k, and l, the actual         number M of patterns to be stored is smaller than M_(ε), then         one may decrease the network connectivity from full connectivity         to an appropriate value p<1 such that M=M_(ε)(p). This will         decrease retrieval time while maintaining a desired retrieval         quality and high storage capacity.

Comparison to Compressed Look-Up Tables

A common way to implement associative memory is simply by a look-up table where each pattern association u^(μ)→v^(μ) is explicitely stored in one of the table's rows. While the Willshaw model is a two-layer neural network, look-up-tables have an interpretation as three-layer neural networks (see FIG. 5) with an additional hidden “grandmother cell” layer w. Here each address pattern u^(μ) is stored in a separate row of the M×m synaptic matrix U describing the connection from u to w. Similarly, each content pattern v^(μ) is stored in a row of the M×n synaptic matrix V describing the connection from w to v.

Retrieval is straight forward: An address pattern ũ is multiplied with the first synaptic matrix U giving the potentials of layer-w neurons. Then, the winner neuron with the largest potential is selected and the corresponding content pattern is returned as retrieval result.

Previous work has pointed out that the Willshaw network can implement retrieval of sparse patterns much more efficiently than naive implementations of look-up-tables. However, look-up-tables can become very efficient if adequately compressed (e.g., by Huffman or Golomb coding). Here it is essential to compress the columns (and not the rows) of the first synaptic matrix U. Then a compressed look-up-table (cLUT) has an information capacity C^(I)→1 and a retrieval requires only

t _(seq) ^(cLUT) =z·M·k/m  (37)

steps. Comparing with the fully connected compressed Willshaw model (see eqs. 34,36) storing the same pattern number M (eq. 7 with {tilde over (p)}₀={tilde over (p)}₁=0) this yields

$\begin{matrix} {v:={\frac{t_{seq}^{cLUT}}{t_{se}^{cW}} \approx \frac{- {\ln \left( {1 - p_{1}} \right)}}{l \cdot {\min \left( {p_{1},{1 - p_{1}}} \right)}} \leq \frac{- {\ln \left( {1 - p_{1\varepsilon}} \right)}}{l \cdot {\min \left( {p_{1\varepsilon},{1 - p_{1\varepsilon}}} \right)}}}} & (38) \\ \left. \rightarrow\left\{ \begin{matrix} {{1/l},} & \left. p_{1\varepsilon}\rightarrow 0 \right. \\ {{\lambda \cdot \frac{k}{l} \cdot \frac{{\ln \left( {\lambda \; k} \right)} - {\ln \; \ln \frac{n}{\varepsilon \; l}}}{\ln \frac{n}{\varepsilon \; l}}},} & {\left. p_{1\varepsilon}\rightarrow 1 \right.,} \end{matrix} \right. \right. & (39) \end{matrix}$

where used 1−p_(1ε)≈ ln p_(1ε) was used for p_(1ε)1 (see eq. 22). Remember that the memory matrix is sparse (p_(1ε)→0), balanced (0<δ<p_(1ε)<1−δ), or dense (p_(1ε)→1) for sub-logarithmic, logarithmic, or supra-logarithmic k(n) (see eq. 21).

Thus the Willshaw model outperforms the cLUT only for dense potentiation (p_(1ε)→1) if implemented with inhibitory neurons (eq. 36). The advantage of the inhibitory Willshaw model is most significant for asymmetric networks with large k and small l. If it is required that m=n and k=l (e.g., for auto-association) the Willshaw model is superior with ν→λd/(1−d) only for almost linear k=n^(d) with 1/(1+λ)<d<1.

The model proposed in the next section makes use of the inhibitory Willshaw model operating in the most efficient regime of dense potentiation (p_(1ε)→1) and asymmetric pattern activities (l<<k).

A Four Layer System for Information Retrieval

FIG. 6 shows four layer system for information retrieval according to an embodiment of the invention. The first projection from address population u to the first intermediary population w₁ is the inhibitory Willshaw associative memory (IAM). The second and third projection from w₁ to another intermediary population w₂ and the content population v is a compressed look-up table (cLUT) as described in the previous section. If the address patterns u^(μ) are not extremely sparse (as is usually the case in applications), then retrieval in this four layer model is much faster than in a compressed look-up table.

The motivation for this model comes from the following observations:

-   -   The address patterns u^(μ) are typically not as sparse as         required for an efficient implementation of a compressed look-up         table (or the inferior excitatory Willshaw model). For example,         it might typically be assumed that k=m^(d) with d typically         around 0.5.     -   Here the inhibitory model has major advantages over the         compressed look-up-table, in particular if the activity l of the         content patterns v^(μ) would be extremely low.     -   However, l grows typically on the same order as k, for example         k=l for auto-association. By introducing an intermediary layer         w₁ with random patterns w₁ ^(μ), this layer may be chosen as         sparse as desired. Let n₁ be the size and l₁ the pattern         activity of layer w₁. Then, one may choose, for example, l₁=2         and

$\begin{matrix} {n_{1} \approx \frac{M\; k\; l_{1}}{m\; \ln \; k}} & (40) \end{matrix}$

-   -   Here, n₁ was chosen by resolving eq. 23 for n. That means the         intermediary layer w₁ is designed as small as possible to         guarantee high fidelity. If M and thus n₁ grow not too fast,         i.e.,

$\begin{matrix} \left. \frac{k}{\log \; n_{1}}\rightarrow\infty\Leftrightarrow\left. \frac{\log \; M}{k}\rightarrow 0 \right. \right. & (41) \end{matrix}$

-   -   then one actually obtains dense potentiation (eq. 17). The         retrieval time for this first projection is then (see eqs.         36,22)

$\begin{matrix} {t_{ret}^{w\; 1} \approx {z\; n_{1}\frac{\ln \frac{n_{1}}{\varepsilon \; l_{1}}}{\lambda \; k}} \approx {n_{1}\ln \; n_{1}} \approx \frac{M\; k\; l_{1}\ln \; M}{m\; \ln \; k}} & (42) \end{matrix}$

-   -   What remains is a projection from the very sparse w₁ population         to the content population v. This can most efficiently be         implemented by a compressed look-up table via a second         intermediary grandmother cell population w₂ with one cell for         each of the M associations. Note that this second projection can         correct possible errors induced by the first projection. The         additional retrieval time is

$\begin{matrix} {t_{ret}^{w\; 2} \approx \frac{l_{1}^{2}M}{n_{1}} \approx \frac{l_{1}m\; \ln \; k}{k}} & (43) \end{matrix}$

-   -   Thus the total retrieval time t_(ret) ^(w1)+t_(ret) ^(w2) is         dominated by the first part t_(ret) ^(w1) if

$\begin{matrix} {M\frac{\left( \frac{m\; \ln \; k}{k} \right)^{2}}{\ln \; M}} & (44) \end{matrix}$

-   -   or, for typically k=m^(d), for M>>m^(2-2d) ln m.     -   Thus, for sufficiently large M the relative efficiency of this         four layer model compared to a compressed look-up table is         typically

$\begin{matrix} {\frac{t_{ret}^{w\; 1}}{t_{seq}^{cLUT}} \approx \frac{\frac{M\; k\; l_{1}\ln \; M}{m\; \ln \; k}}{\frac{\lambda \; M\; k^{2}}{m}} \sim \frac{\ln \; M}{k\; \ln \; k} \sim \frac{1}{k}} & (45) \end{matrix}$

-   -   This shows that the four layer system requires typically only a         fraction m^(−d) of the look-up table's retrieval time.     -   Similarly, the relative efficiency of this four layer model         compared to the two-layer inhibitory Willshaw model is (see eqs.         42,36,22)

$\begin{matrix} {\frac{t_{ret}^{w\; 1}}{t_{ret}^{i}} \approx \frac{n_{1}\ln \frac{n_{1}}{\varepsilon \; l_{1}}}{n\; \ln \frac{n}{\varepsilon \; l}} \approx \frac{n_{1}\ln \; n_{1}}{n\; {\ln \left( {n/l} \right)}}} & (46) \end{matrix}$

-   -   which assumes that M corresponds to the maximal pattern capacity         M_(ε) of the two-layer model (for example by adapting the         connectivity p). Thus, the four layer model is faster than the         two-layer inhibitory Willshaw model at least for n₁<n. Moreover,         a big advantage of the four layer model is that the number M of         storable patterns does not depend on the content pattern         statistics, l and n. In particular, in the four layer model, an         arbitrary number of patterns can be stored (by increasing the         size n₁ of the intermediary layer w₁), while the pattern         capacity of the inhibitory Willshaw model is limited by equation         18.     -   This massive improvement of retrieval time comes at the price of         storing the M random patterns of the w₁ population two times:         First, (implicitly) in the inhibitory Willshaw matrix A. Second,         in the matrix W₁ of the look-up table. Since the information         capacity of the inhibitory Willshaw model will be near 1 the         required memory is approximately

$\begin{matrix} {T = {2M\; n_{1}{I\left( {l_{1}/n_{1}} \right)}}} & (47) \\ {\approx {2M\; l_{1}{ld}\; n_{1}}} & (48) \\ {\approx {2l_{1}M\; \log \; M}} & (49) \end{matrix}$

-   -   which is typically negligible in comparison to the memory         necessary for representing the original address patterns, Mk log         m, because k>>l₁ and typically log M˜log m (if M does not grow         faster than polynomial in m).     -   Note that in the four layer system there is actually no need to         explicitely storing the address patterns u^(μ). Thus, for a         hetero-associative scenario one would even save memory compared         to the three-layer look-up-table.

Model Variants and Optimizations

Using Compressed Diluted Look-Up-Tables

The four-layer architecture introduced above makes use of an inhibitory associative network as the first processing stage. It may be shown that the inhibitory network is more efficient than a compressed look-up table for many parameters, in particular for those required in the four-layer system (i.e., extremely sparse population w₁). However, depending on the address pattern statistics and the number of pattern associations it may be sometimes better to use a diluted look-up table instead of the inhibitory network. Both model variants have in common that they speed-up retrieval by introducing an intermediary cell layer with very specific and sparse (i.e., grandmother-cell-like) response properties.

Optimizing the Intermediary Representations: UUU and USU Networks

The analysis of the inhibitory Willshaw network relies on a binomial approximation of the retrieval error probability. This approximation can lead to a significant overestimation of the performance of the Willshaw network's performance, in particular for small finite networks or if the address patterns are not sufficiently sparse.

However, for the four-layer system, the intermediary pattern representations of layer w₁ (see FIG. 6) may be optimized in order to minimize error probabilities. In the standard model the patterns w₁ ^(μ) are generated at random with size n₁ and activity l₁ (see eq. 40). Thus the so-called unit usage of a w₁ neuron is approximately binomially distributed with parameters M and l₁/n (the unit usage of a neuron is defined as the number of patterns a neuron belongs to).

In the four-layer-system one may choose the intermediary w₁ patterns arbitrarily, for example, in such a way that the unit usages are approximately equal for all w₁ neurons. In other words, the matrix W₁ may be optimized such that the unit usage is approximately uniform in the sense that the variance E((uu[j]−Ml₁/n_(i))²) is minimized, wherein E is the expectation over j and Ml₁/n₁ is the mean unit usage. This can be realized, for example, by the following greedy-algorithm:

1. ALGORITHM UUU: Given M, n₁, l₁ create M binary patterns w₁ ^(μ)of size n₁ and activity l₁ with uniform unit usage, i.e., uu[j] := Σ_(μ=1) ^(M) w₁ ^(μ)[j] is (approximately) identical for all j = 1,...,n₁. 2. for j := 1 to n₁ do uu[j] = 0 endfor 3. for μ := 1 to M do 4. j₁,...,j_(l) ₁ := the l₁ neurons with the lowest unit usages uu 5. w₁ ^(μ):= {j₁,...,j_(l) ₁ } 6. for i := 1 to l₁ do uu[j_(i)] := uu[j_(i)] + 1 endfor 7. endfor Explorative numerical simulations show that this choice of w₁ patterns can significantly decrease the true error probability p₀₁.

In a further embodiment of the invention, there is a second possible approach that may decrease the error probability p₀₁ even below the binomial approximation p₀₁: Instead of creating a pattern set with uniform unit usage, one could also create a pattern set with what may be called (approximately) uniform synapse usage. Here the synapse usage of content neuron j is defined as the number of active (1-)synapses on the dendrite of neuron j (assuming full connectivity with p=1),

$\begin{matrix} {{{su}\lbrack j\rbrack}:={{\sum\limits_{i = 1}^{m}A_{i\; j}} = {m - {\sum\limits_{i = 1}^{m}A_{i\; j}^{I}}}}} & (50) \end{matrix}$

where A and A^(I) are the memory matrices (eq. 2 and eq. 26) of the excitatory and inhibitory interpretations of the Willshaw model, respectively.

Again, approximating identical synapse usages means minimizing the variance E((su[j]−E(su[j]))²) of the synapse usages, wherein E is again the mean value over j.

One possible greedy algorithm for creating a pattern set with approximately uniform synapse usage is the following:

 1. ALGORITHM USU: Given M, n₁, l₁ and M binary pattern vectors u^(μ). Then create M binary patterns w₁ ^(μ)of size n₁ and activity l₁ with uniform synapse usage, i.e., su[j] is (approximately) identical for all j = 1,...,n₁ (see eq. 50).  2. A := 0  3. for j := 1 to n₁ do su[j] := 0 endfor  4. for μ := 1 to M do  5. j₁,...,j_(l) ₁ := the l₁ neurons with the lowest synapse usages su  6. w₁ ^(μ):= {j₁,...,j_(l) ₁ }  7. for i ε u^(μ)do for j ε w₁ ^(μ)do  8. if(A_(ij) == 0)  9. A_(ij) := 1 10. su[j] := su[j] + 1; 11. endif 12. endfor endfor 13. endfor Note that in lines 6,7, the binary pattern vectors u^(μ) and w₁ ^(μ) are identified with the sets of their active (1-)components. Also note that this algorithm is obviously not able to create a pattern set with really uniform synapse usage. Nevertheless the greedy algorithm is fast (for small l₁) and will create a pattern set such that the variance of synapse usage is smaller than for pure random patterns. This property is one reason why the resulting error probability p₀₁ is actually smaller than the binomial estimate eq. 16.

In a variant of the USU algorithm (“USU2”) the minimization in line 5 may be performed on the synapse usages su′[j]:=su[j]+Σ_(i=0) ^(m)(1−A_(ij))u_(i) ^(μ), anticipating the storage of pattern u^(μ). This algorithms leads indeed to very good performance with error probabilities well below the binomial approximation eq. 16. However, this variant has the disadvantage of creating a much higher number of “collisions” in layer w₁ (i.e., where two n-patterns are mapped to the same w₁ pattern). This would cause retrieval of superpositions in the out output layer v.

Therefore, in yet another variant of the USU algorithm (“USU3”), the minimization process of line 5 actively avoids units that may lead to collisions. More particularly, each of the stimulus patterns u^(μ) may be mapped to a corresponding random pattern w₁ ^(μ1) in layer w1. The natural meaning of collision is that two different stimulus patterns are mapped to the same random pattern, very similar to the meaning of a collision in hash algorithms. More precisely, two random patterns w₁ ^(μ1) and w₁ ^(μ2) may be said to collide if they are equal.

In general, the performance of the four-layer system becomes better if w₁ ^(μ1) and w₁ ^(μ2) have minimal overlap. The USU3 algorithm computes a set of random patterns w₁ ^(μ)(p=1, . . . , M) such that both synapse usage and overlaps (and thus number of collisions) between random patterns are minimal. This way, USU3 leads to lowest output noise level in the inventive four layer system (see FIG. 7):

 1. for i = 1 to m do for j = 1 to n₁ do A_(ij) := 0;  2. for μ := 1 to M do  3. for j := 1 to n₁ do patW1[j] := 0; endfor;  4. for j := 1 to n₁ do su′[j] := Σ_(i=1...m) (A_(ij) + (1 − A_(ij)) * u_(i) ^(μ)) endfor;  5. for μ₁ := 1 to μ − 1 do fullOvlp[?1] := 1; endfor;  6. for b := 1 to l₁ do  7. if (b = 0) then  8. for j := 1 to n₁ do frb[j] := 0;  9. else 10. for j := 1 to n₁ do frb[j] := V_(μ) ₁ _(=1...μ−1)(fullOvlp[μ₁]

w_(1j) ^(μ1)); 11. endif; 12. minsu := min{su′[j] : j = 1...n1;patW1[j] = 0; frb[j] = 0} 13. minsulist := list of indices j with patW1[j]=0, frb[j]=0, su′[j]=minsu; 14. if (minsulist is empty) then 15. minsulist := list of indices j with patW1[j] = 0 and su′[j] = minsu; 16. endif 17. if (minsulist is empty) then 18. minsulist := list of indices j with patW1[j] = 0; 19. endif 20. j1 := random element in minsulist; 21. patW1[j1] := 1; 22. for μ₁ := 1 to μ − 1 do 23. if (overlap(patW1, w₁ ^(μ1)) < b) then fullOvlp[μ₁] := 0; endif; 24. endfor; 25. for i := 1 to m do if (u_(i) ^(μ)> 0) then 26. A_(ij1) := 1; 27. endif; endfor; 28. endfor 29. w₁ ^(μ):= patW1; 30. endfor;

Line (1) initializes the memory matrix A. The main loop of lines (2)-(30) computes the random patterns, i.e., the μ-th loop run computes pattern w₁ ^(μ). Line (3) initializes the array patW1 corresponding to 4. Line (4) computes the “anticipated” synapse usage su′. I.e., su′[j] is the synapse usage of neuron j after storing the μ-th pattern u^(μ) assuming neuron j is active in pattern w₁ ^(μ).

Line (5) initializes the binary array fullOvlp. The case fullOvlp[μ₁]=0 indicates that previously generated pattern w₁ ^(μ1) does not collide with the current pattern patW1, i.e., the two patterns do not have full overlap. In each run b of the loop defined by lines (6)-(28) one active component of patW1 is computed. Lines (7)-(11) compute a binary array frb where frb[j]=1 indicates that it is “forbidden” to activate neuron j in patW1. Forbidden neurons are essentially those that are already active in patW1 or have full overlap with one of the previous patterns.

Line (12) computes the minimal (anticipated) synapse usage. Line (13) computes a list minsulist of neurons that are not already active in patW1, are not forbidden, and have minimal synapse usage. In case the resulting list is empty, lines (14)-(16) re-compute the list without excluding forbidden neurons. In case the resulting list is still empty, lines (17)-(19) re-compute the list considering any neurons that is still inactive in patW1. Line (20) chooses one element j1 at random from the resulting list. Line (21) activates patW1[j1]; Lines (22)-(24) update fullOvlp. Lines (25)-(27) updates the memory matrix A. Line (29) sets w₁ ^(μ) equal to the currently computed pattern patW1.

This variant performs almost as well as the previous variant but produces no more collisions than choosing the w₁-patterns at random.

FIG. 7 shows improving storage capacity and retrieval quality of the four-layer system (Fig.) by using UUU/USU networks. The first layer u stores patterns with m=1000 and k=300. The intermediary layer w₁ stores patterns with The plot shows output noise ε over number of stored patterns M for an address layer u with k/m=300/1000, an intermediary layer w₁ with l₁/n₁=2/500 when addressing with half address patterns (i.e., c=150, ƒ=0). The different curves correspond to different methods to construct the patterns in layer w₁: RND: Standard model with random patterns. Solid line corresponds to the exact theory, crosses (x) to simulations. Dashed line corresponds to output noise as predicted by the binomial approximation eq. 16. UUU: Patterns are constructed using the uniform-unit-usage algorithm UUU (star). USU: Patterns are constructed using the uniform-synapse-usage algorithm USU (plus). USU2/3: Patterns are constructed using two optimized versions of the USU algorithm (triangle, diamond). Note that for these algorithms output noise is much less than predicted by the binomial approximation.

FIG. 7 summarizes data from numerical simulations showing that UUU and USU networks generally perform much better than the standard Willshaw net-work. For the same number M of stored patterns the probability of an retrieval error can be reduced by several orders of magnitude. Correspondingly, for given error level ε the pattern capacity M_(ε) increases significantly. For example, for an error level of ε=10⁻² the UUU/USU algorithms increase pattern capacity by more than factor two, and USU2/3 even more than factor three. Most interestingly, USU2/3 lead to significantly better results than predicted by the binomial approximation eq. 16: The error probability can be decreased by more than factor 10, and, correspondingly, also the pattern capacity M_(ε) is significantly increased, in particular for relatively low-fidelity (e.g., by almost 30 percent for ε=1). This means that the performance of the four-layer system should be seen rather as a lower bound.

The present invention proposes a neural network architecture for solving the following best match problem: Given a database {(u^(μ)

v^(μ)): μ=1, . . . , M} of M associations from address patterns u^(μ) to content patterns v^(μ), and a usually noisy address pattern ũ the memory task is to find the index μ (and the corresponding content v^(μ)) such that the distance d(ũ, u^(μ)) is minimal.

The best match problem is also known as nearest-neighbor-search and efficient solutions have widespread applications. More particularly, the described “four-layer system for information retrieval” described in relation to FIG. 6 has beneficial applications in object recognition systems that rely on large databases of sparse prototype patterns. In particular, the system according to the invention can decrease both retrieval time and memory requirements by several orders of magnitude.

More particularly, similar to the brain, state-of-the-art visual object recognition systems transform sensory inputs to a very high-dimensional but sparse feature vector representation, i.e., where most of the vector components are zero or near zero.

Online-learning of new objects or object views often works in such a way that appropriate snapshots are stored as high-dimensional feature vectors in a large database together with the corresponding object label. Object recognition can then be accomplished by comparing new sensory input to the information stored in the database. That means, the classification system must find the database feature vector most similar to the feature vector from the sensory input.

If a large number of object or object views has been learned in the database, the nearest-neighbor-search can become a bottleneck. Here efficient solutions to the best match problem as proposed here can contribute to build efficient object recognition systems.

FIG. 8 shows a block diagram of a system for visual object recognition, having the same hierarchical structure and function as the visual object recognition system described by Wersing and colleagues (cf. H. Wersing, E. Koerner. Learning optimized features for hierarchical models of invariant object recognition. Neural Computation, 15:1559-1588, 2003; S. Kirstein, H. Wersing, E. Koerner: A biologically motivated visual memory architecture for online learning of objects. Neural Networks, 21(465-77, 2008).

The hierarchical object recognition system consists of several neural layers extracting features of increasing complexity. On each hierarchical stage, the neurons learn an optimal feature set according to the sparse coding paradigm (cf. B. A. Olshausen, D. J. Field: Sparse coding with an overcomplete basis set: A strategy employed by V1? Vision Research, 37:3311-3325, 1997) to represent inputs from the previous stage. After completing feature learning, the system can be used for object learning and classification. The basic role of the system is to transform each input image I (usually containing an object to be classified) in the lowest input layer to a sparse (but still gradual) activation vector u* in the highest layer.

During learning a set of M input images I^(μ) with associated object labels v^(μ) is presented to the network resulting in a set of activation vectors u*^(μ) at the highest layer (μ=1, . . . , M). Now the data set (u*^(μ), v^(μ)) can be used to train a standard classifier on top of the hierarchy, employing, for example, perceptrons or prototype-based methods such as LVQ.

According to the invention, this standard classifier on top of the hierarchy may be replaced or complemented by the inventive four-layer system. In particular, simple threshold elements may be used to transform the gradual patterns u*^(μ) (or the prototypes extracted by LVQ) into binary patterns u^(μ).

In one embodiment of the invention, a single threshold may be chosen for all neurons such that the mean activity of a pattern vector was k, where k was chosen small compared to the vector size m to get sparse binary pattern vectors. Alternatively, thresholds may also be chosen individually for each neuron such that each neuron becomes activated M/k times. Or the k most excited neurons may be activated in each pattern. In any case, the resulting set of binary address patterns u^(μ) may then be associated with the object labels v^(μ) employing the inventive four-layer-system as described above.

During retrieval, a given input image Ĩ may be classified using the above hierarchy and the most similar training example (or prototype) may be returned. For that, Ĩ may be transformed to a binary pattern ũ, in the same way as during learning, by propagating Ĩ through the feature hierarchy and then through the threshold elements. Finally, ũ may be used for best match retrieval in the inventive four layer system as described above, and the best matching μ and v^(μ) may be returned.

OTHER POTENTIAL APPLICATIONS include the following ones:

-   -   These arguments can be applied not only for visual object         recognition, but of course also for any other recognition task         that is based on a database of sparse high-dimensional feature         vectors (e.g., auditory speech recognition, etc.).     -   Potential applications include efficient implementations of LVQ         (Learning Vector Quantification) if the pattern vectors are         high-dimensional and sparse and if a very large number of         pattern vectors must be stored.     -   Similarly, potential applications include efficient         implementations of clustering algorithms or self-organizing maps         if the number of cluster prototypes is large and the prototype         vectors are high-dimensional and sparse.     -   Another potential application is document retrieval: Here the         database may consists of a large set of text documents, for         example taken from the internet. Each text document consists of         (possibly many) words and can be indexed by selecting a         relatively small set of key words. The result is a sparse binary         feature vector for each text document. Given a query consisting         of a set of key words the task is to find the most relevant         documents. This retrieval can be accelerated by the methods         proposed here.     -   A complementary idea is to represent the words in a text         document by applying an N-gram code. For example the 1-grams (or         monograms) of the word “memory” are simply the letters “m”, “e”,         “m”, “o”, “r”, “y”. Similarly, the 2-grams (or digrams) are         “me”, “em”, “mo”, “or”, “ry”, and the 3-grams are “mem”, “emo”,         “mor”, “ory”. By that one obtains very naturally a sparse and         fault tolerant code alrady at the word level. For example, for         an alphabet of 26 letters, the 2-gram code represents the word         “memory” by a binary vector of dimension 26²=676 where only 5         components are active. This method can be used, for example, to         implement a fault-tolerant code for the keywords described in         the previous item. Additionally, the N-gram method can be used         to code keyword order and key word sequences in a manner         suitable for the associative memory models discussed in this         application.     -   The inhibitory neural networks and algorithms proposed in this         application would be particularly efficient if implemented on a         parallel (VLSI) hardware architecture. Since current parallel         hardware is not very flexible with respect to online-learning,         it may still be useful to create parallel hardware         implementations for special applications. For example, to         implement the best-match-search of a readily learned object         recognition system in hardware (VLSI, FPGA, etc.).     -   In summary, the inhibitory neural networks and algorithms         proposed in this application can be used for any application         involving the best match or nearest-neighbor problem if the         underlying pattern vectors are highdimensional and sparse. 

1. Method for forming an associative computer memory, comprising: forming an inhibitory memory matrix (A^(I)) according to the following equation: A ^(I)=−(A _(p) −A), A being a memory matrix (A) according to the Willshaw model constructed from a given set of address patterns (u^(μ)) and content patterns (ν^(μ)), the set having size M and A_(p) being a random matrix describing the network structure.
 2. Method according to claim 1, further comprising: forming a set of sparse random patterns (w₁ ^(μ)), the set having size M, the random patterns having size n₁ and having l₁ active components; forming an inhibitory memory matrix (A^(I′)) from the address patterns (u^(μ)) and the patterns (w₁ ^(μ)); forming a sparse random matrix (W₁) using the sparse random patterns (w₁ ^(μ)); forming a content pattern matrix (V) using the content patterns (ν^(μ)).
 3. Method according to claim 2, wherein the size n₁ is estimated according to the formula $n_{1} \approx \frac{M\; k\; l_{1}}{m\; \ln \; k}$ wherein k is the mean activity of the address patterns (u^(μ)).
 4. Method according to claim 2, further comprising the step of forming a compressed lookup-table (cLUT) using the sparse random and the content pattern matrix (W₁, V).
 5. Method according to claim 2, wherein in each random pattern (w₁ ^(μ)) of the sparse random matrix (W₁) only two components are active (l₁=2).
 6. Method according to claim 2, wherein the sparse random matrix (W₁) is optimized such that the uniform unit usage uu[j]:=Σ_(μ=1) ^(M)w₁ ^(μ)[j] is approximately identical for all j=1, . . . , n₁.
 7. Method according to claim 6, wherein the sparse random matrix (W₁) is optimized using the following algorithm: (a) for j := 1 to n₁ do uu[j] = 0 endfor (b) for μ:= 1 to M do (c) j₁, ...,j_(l) ₁ := the l₁ neurons with the lowest unit usages uu (d) w₁ ^(μ):= {j₁, ...,j_(l) ₁ } (e) for i := 1 to l₁ do uu[j_(i)] := uu[j_(i)] + 1 endfor (f) endfor


8. Method according to claim 2, wherein the sparse random matrix (W₁) is optimized such that the synapse usage su[j]:=Σ _(i=1) ^(m) A _(ij) =m−Σ _(i=1) ^(m) A _(ij) ^(I). is approximately identical for all j=1, . . . , n₁, wherein A and A^(I) are the memory matrices of the excitatory and inhibitory interpretations of the Willshaw model, respectively.
 9. Method according to claim 8, wherein the sparse random matrix (W₁) is optimized using the following algorithm: (a) A := 0 (b) for j := 1 to n₁ do su[j] := 0 endfor (c) for μ := 1 to M do (d) j₁,...,j_(l) ₁ := the l₁ neurons with the lowest synapse usages su (e) w₁ ^(μ):= {j₁, ...,j_(l) ₁ } (f) for i ε u^(μ)do for j ε w₁ ^(μ)do (g) if(A_(ij) == 0) (h) A_(ij) := 1 (i) su[j] := su[j] + 1; (j) endif (k) endfor endfor (l) endfor


10. Method according to claim 9, wherein the minimization in line (9d) is performed on the synapse usages su′[j]:=su[j]+Σ_(i=0) ^(m)(1−A_(ij))u_(i) ^(μ).
 11. Method according to claim 9, wherein the minimization in line (9d) actively avoids units that may lead to collisions.
 12. Method for retrieving a pattern from an associative computer memory formed according to claim 1, comprising the steps: forming a vector of retrieval results ũA^(I), wherein ũ is an address pattern; applying a threshold Θ^(I), satisfying the equation: Θ^(I)=Θ−θ, Θ being a set of thresholds for the underlying Willshaw model (A) and θ being a vector of input activities.
 13. Method for retrieving a pattern from an associative computer memory formed according to claim 2, comprising: forming a vector of retrieval results ũA^(I′), wherein ũ is an address pattern; applying a threshold θ^(I) satisfying the equation: Θ^(I)=Θ−θ, Θ being a set of thresholds for the underlying Willshaw model (A) and θ being a vector of input activities in order to obtain a first intermediate retrieval result {tilde over (w)}₁; forming a vector of second intermediate retrieval results {tilde over (w)}₂:=W₁{tilde over (w)}₁; selecting the μ-th line of the content pattern matrix (V) as the final output result, wherein μ is the maximal component of {tilde over (w)}₂.
 14. Method according to claim 12, wherein the retrieval result is output and used for automatic visual object recognition or automatic auditory speech recognition.
 15. Method according to claim 12, wherein the retrieval result is output and used for document retrieval.
 16. Method according to claim 15, wherein the words in the document are represented by applying an N-gram code.
 17. Computer-readable medium storing instructions that, when executed on a computer, implement a method according to claim
 1. 18. Device for storing a multitude of patterns in a computer memory, comprising: means for forming an inhibitory memory matrix (A^(I)) according to the following equation: A ^(I)=−(A _(p) −A), A being a memory matrix (A) according to the Willshaw model, and A_(p) being a random matrix. 